package com.vpclub.controller.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * 1.告诉springMVC这个类是一个处理器
 * @author : leimingchao
 * @date Date : 2021年07月12日 22:23
 *
 * HelloWorld细节：
 *      1.运行流程：
 *            1.客户端点击链接会发送http://localhost:8080/springmvc01/hello请求
 *            2.来到tomcat服务器
 *            3.springMVC的前端控制器收到所有请求
 *            4.来看请求地址和@RequestMapping标注的哪个匹配，来找到到底使用哪个类的哪个方法来处理
 *            5.前端控制器找到了目标处理器类和目标方法，直接利用反射执行目标方法
 *            6.方法执行完成以后会有一个返回值，SpringMVC认为这个返回值就是要去的页面地址
 *            7.拿到方法返回值以后，用视图解析器进行拼串得到完整的页面地址
 *            8.拿到页面地址，前端控制器帮我们转发到页面
 *      2.@RequestMapping：
 *            就是告诉springMVC，这个方法用来处理什么请求
 *            这个/是可以省略的，即使省略了，也是默认从当前项目下开始
 *            习惯加上比较好，/hello   /hello
 *            RequestMapping的使用：？
 *      3.如果不指定配置文件位置？
 *            /WEB-INF/springDispatcherServlet-servlet.xml
 *            如果不指定也会默认去找一个文件：
 *                /WEB-INF/springDispatcherServlet-servlet.xml
 *        就在web应用的/WEB-INF、下创建一个叫前端控制器名-servlet.xml
 */
@Controller
public class HelloController {

    @RequestMapping(value = "/hello")
    public String hello() {
        System.out.println("hello......");
        return "success";
    }


    @RequestMapping(value = "/hello01")
    public String hello01() {
        System.out.println("hello01......");
        return "error";
    }

    @RequestMapping(value = "/hello02")
    public String hello02() {
        System.out.println("hello02......");
        return "success";
    }




}
